Bug 548026 - No accessor for GtkWidget.requisition
authorMichael Natterer <mitch@gimp.org>
Fri, 19 Feb 2010 16:04:20 +0000 (17:04 +0100)
committerTristan Van Berkom <tristan.van.berkom@gmail.com>
Sun, 4 Apr 2010 00:56:15 +0000 (20:56 -0400)
Add gtk_widget_get_requisition().

gtk/gtk.symbols
gtk/gtkwidget.c
gtk/gtkwidget.h

index 91acae86522df18922ac03c4ea29fb1a93200b92..1518e36a67567a95f191159dc571054295cf9212 100644 (file)
@@ -5134,6 +5134,7 @@ gtk_widget_get_parent_window
 gtk_widget_get_pointer
 gtk_widget_get_receives_default
 gtk_widget_get_root_window
+gtk_widget_get_requisition
 gtk_widget_get_screen
 gtk_widget_get_sensitive
 gtk_widget_get_settings
index f969d477f3d29b1ee61e9dc9c7e51a7762a03f80..ca77d8c4c02e65cf190c6240f596dcaea5c95f6f 100644 (file)
@@ -11304,6 +11304,32 @@ gtk_widget_set_allocation (GtkWidget           *widget,
   widget->allocation = *allocation;
 }
 
+/**
+ * gtk_widget_get_requisition:
+ * @widget: a #GtkWidget
+ * @requisition: (out): a pointer to a #GtkRequisition to copy to
+ *
+ * Retrieves the widget's requisition.
+ *
+ * This function should only be used by widget implementations in
+ * order to figure whether the widget's requisition has actually
+ * changed after some internal state change (so that they can call
+ * gtk_widget_queue_resize() instead of gtk_widget_queue_draw()).
+ *
+ * Normally, gtk_widget_size_request() should be used.
+ *
+ * Since: 2.20
+ */
+void
+gtk_widget_get_requisition (GtkWidget      *widget,
+                            GtkRequisition *requisition)
+{
+  g_return_if_fail (GTK_IS_WIDGET (widget));
+  g_return_if_fail (requisition != NULL);
+
+  *requisition = widget->requisition;
+}
+
 /**
  * gtk_widget_set_window:
  * @widget: a #GtkWidget
index 8039df71a57d54e4ef32475d2a3271c52834c9eb..66d58b04769f36fcef6e54cfcb7287e7d74e6c67 100644 (file)
@@ -961,6 +961,9 @@ void                  gtk_widget_get_allocation         (GtkWidget     *widget,
 void                  gtk_widget_set_allocation         (GtkWidget     *widget,
                                                          const GtkAllocation *allocation);
 
+void                  gtk_widget_get_requisition        (GtkWidget     *widget,
+                                                         GtkRequisition *requisition);
+
 gboolean   gtk_widget_child_focus         (GtkWidget           *widget,
                                            GtkDirectionType     direction);
 gboolean   gtk_widget_keynav_failed       (GtkWidget           *widget,